﻿namespace OmniKits.Windows.Interop
{
    partial class User32
    {
        public const int SW_HIDE = 0;
        public const int SW_SHOWNORMAL = 1;
        public const int SW_NORMAL = 1;
        public const int SW_SHOWMINIMIZED = 2;
        public const int SW_SHOWMAXIMIZED = 3;
        public const int SW_MAXIMIZE = 3;
        public const int SW_SHOWNOACTIVATE = 4;
        public const int SW_SHOW = 5;
        public const int SW_MINIMIZE = 6;
        public const int SW_SHOWMINNOACTIVE = 7;
        public const int SW_SHOWNA = 8;
        public const int SW_RESTORE = 9;
        public const int SW_SHOWDEFAULT = 10;
        public const int SW_FORCEMINIMIZE = 11;
        public const int SW_MAX = 11;

        #region WM_SHOWWINDOW IDs

        public const int SW_PARENTCLOSING = 1;
        public const int SW_OTHERZOOM = 2;
        public const int SW_PARENTOPENING = 3;
        public const int SW_OTHERUNZOOM = 4;

        #endregion
    }
}

namespace OmniKits.Windows.Interop
{
    using static User32;

    public enum ShowWindow : int
    {
        Hide = SW_HIDE,
        ShowNormal = SW_SHOWNORMAL,
        Normal = SW_NORMAL,
        ShowMiniminzed = SW_SHOWMINIMIZED,
        ShowMaximized = SW_SHOWMAXIMIZED,
        Maximize = SW_MAXIMIZE,
        ShowNoActivate = SW_SHOWNOACTIVATE,
        Show = SW_SHOW,
        Minimize = SW_MINIMIZE,
        ShowMinNoActive = SW_SHOWMINNOACTIVE,
        ShowNA = SW_SHOWNA,
        Restore = SW_RESTORE,
        ShowDefault = SW_SHOWDEFAULT,
        ForceMinimize = SW_FORCEMINIMIZE,
        Max = SW_MAX,
    }
}
